Current trends in video signal recording and transmission are leaning toward the use of digital compression techniques. Toward this end the International Organisation for Standardisation has been developing a series of compression signal protocols designated MPEG1, MPEG2, etc. These protocols require that the video signal be compressed according to motion compensated prediction techniques in which the video signal is divided into matrices or blocks of contiguous pixels and thereafter the signal is processed on a block basis.
In typical motion compensated predictive compression successive images are predicted from prior compressed images. The current image is subtracted, on a pixel by pixel basis, from its associated predicted image, and the differences or residues are encoded for storage or transmission. In generating the predicted images, blocks of the current image are compared with like sized blocks of the predicted image until the closest block match is found. A set of motion vectors is generated which indicate the block of the predicted image which most nearly matches the real image. The differences between the two blocks and the motion vectors form, in major part the compressed information. The residues may however undergo transform processing and variable length and statistical encoding. For detailed information on motion compensated predictive compression see Peter A. Ruetz et.al. "A High-Performance Full-Motion Video Compression Set", or Hiroshi Fujiwara, et.al "An AII-ASIC Implementation of a Low Bit-Rate Video Codec" and Chaur-Heh Hsieh, et.al. "VLSI Architecture for Block-Matching Motion Estimation Algorithm" all of which are to be found in IEEE TRANS. ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 2, No. 2, JUNE 1992. In certain systems such as the MPEG 1 system, a decision is made whether to code a set of motion vectors or not. This is called a MC/no-MC decision.
The purpose of the MC/no-MC decision is to determine for each block of compressed data whether to select the motion vector(s) resulting from the motion estimation search (MC), or to select (0,0) motion vectors (no-MC) instead. The MC/no-MC decision is applied to each block of the Picture. If the particular system performs both forward and backward prediction as in the MPEG systems a MC/no-MC decision is made independently for both forward and backward motion vectors.
The no-MC motion vector should be used in those cases where the MC motion vector is useless (it carries no information) and is costly to encode, that is, it tends to create an effect of swarming noise, and makes error concealment techniques less efficient. This situation obtains particularly in flat image areas, like a sky, or a wall, etc, where the MC motion vectors tend to be totally random and are the result of random noise present in the source pictures during the motion estimation search, and not due to scene changes.
Typical MC/no-MC decision algorithms are based on prediction errors. Prediction errors can be the MAE (Mean Absolute Error per pixel) or the MSE (Mean Square Error per pixel) between the predicted block and the target block. Nominally a no-MC decision is made if the spatially collocated predicted and target blocks yield the smallest prediction error. In addition, if the smallest prediction error generated in a block matching search, is produced by the target block and a non collocated block, and this prediction error is less than the prediction error of the collocated target and predicted blocks by only a predetermined threshold, a no-MC decision is made. The optimum threshold needs to be determined by experiment for respective systems. It has been found however that if the MSE is used as a prediction error a threshold of 1 provides good results.
If a no-MC decision is made for a particular block this implies a motion vector set of (0, 0). This vector set can be encoded as a vector or the block of residue data can be flagged as a no-MC block without the necessity of including the vector, thereby enhancing compression efficiency.
The foregoing MC/no-MC decision algorithm produces a very annoying side effect, called herein the "dirty window effect". It appears like dirt sticking to the screen in flat areas (where no-MC motion vectors are used), and can be very obvious and disturbing. The cause of the problem is that the no-MC motion vectors are used in areas almost flat, but containing in fact a very low intensity pattern such as a blurred background, or a cloud for example. This problem can be solved by lowering the value of the threshold used in the decision, however, this gives rise to another problem. The prediction error caused by noise becomes larger than the threshold and no-MC motion vectors will seldom be used, causing what can be described as a swarming noise effect.
The present invention is directed to apparatus which takes advantage of MC/no-MC decisions without incurring the undesirable "dirty window" or "swarming noise effects."